package main

import "fmt"

// 空接口即内部没有待实现的方法
type People interface{}

func main() {
	var people People
	people = 1
	fmt.Println(people)
	people = "hello go"
	fmt.Println(people)
	// 空接口接受复数
	people = complex(1, 2)
	fmt.Println(people)

	// 在比较空接口时，会对其底层类型进行比较，如果类型不匹配的话则为false，其次才是值的比较，例如
	var a interface{}
	var b interface{}
	a = 1
	b = "1"
	fmt.Println(a == b)
	a = 1
	b = 1
	fmt.Println(a == b)

	// 接口类型断言 --> 接口对象.(数据类型)
	fmt.Println("以下内容为断言>>")
	var inter interface{} = "hello"
	//inter = 1
	val, ok := inter.(string)
	if ok {
		fmt.Println(val)
	} else {
		fmt.Println("断言失败")
	}

}
